[INFO] cloning repository https://github.com/yihua1218/ai-mail-butler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yihua1218/ai-mail-butler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyihua1218%2Fai-mail-butler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyihua1218%2Fai-mail-butler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3e71558a203e62566d51bd0218c099a8cf647a08
[INFO] testing yihua1218/ai-mail-butler against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyihua1218%2Fai-mail-butler" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/yihua1218/ai-mail-butler
[INFO] finished tweaking git repo https://github.com/yihua1218/ai-mail-butler
[INFO] tweaked toml for git repo https://github.com/yihua1218/ai-mail-butler written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yihua1218/ai-mail-butler on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yihua1218/ai-mail-butler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bedccd025985a49cce397da442fb2c68330394da1f0b4e84118aa838eb899cb6
[INFO] running `Command { std: "docker" "start" "-a" "bedccd025985a49cce397da442fb2c68330394da1f0b4e84118aa838eb899cb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bedccd025985a49cce397da442fb2c68330394da1f0b4e84118aa838eb899cb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bedccd025985a49cce397da442fb2c68330394da1f0b4e84118aa838eb899cb6", kill_on_drop: false }`
[INFO] [stdout] bedccd025985a49cce397da442fb2c68330394da1f0b4e84118aa838eb899cb6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f1ede6d59027732fb44b01b3bde2ba64351a0284960c219b4ed3828ede0675a9
[INFO] running `Command { std: "docker" "start" "-a" "f1ede6d59027732fb44b01b3bde2ba64351a0284960c219b4ed3828ede0675a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling rustls-webpki v0.103.12
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling sqlx-core v0.7.4
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling sqlx-sqlite v0.7.4
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hickory-proto v0.24.4
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling xz2 v0.1.7
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling bzip2 v0.5.2
[INFO] [stderr]    Compiling lru-cache v0.1.2
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling gethostname v0.4.3
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling resolv-conf v0.7.6
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling deflate64 v0.1.12
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling mail-builder v0.3.2
[INFO] [stderr]    Compiling mail-parser v0.9.4
[INFO] [stderr]    Compiling hickory-resolver v0.24.4
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling quick-xml v0.32.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling quoted_printable v0.5.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]    Compiling mail-auth v0.4.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling charset v0.1.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling email-encoding v0.4.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling smtp-proto v0.1.7
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling ai-mail-butler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling mail-send v0.4.9
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling lopdf v0.33.0
[INFO] [stderr]    Compiling lettre v0.11.21
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling sqlx v0.7.4
[INFO] [stderr]    Compiling mailparse v0.14.1
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 10s
[INFO] running `Command { std: "docker" "inspect" "f1ede6d59027732fb44b01b3bde2ba64351a0284960c219b4ed3828ede0675a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1ede6d59027732fb44b01b3bde2ba64351a0284960c219b4ed3828ede0675a9", kill_on_drop: false }`
[INFO] [stdout] f1ede6d59027732fb44b01b3bde2ba64351a0284960c219b4ed3828ede0675a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 46fd5840cbc14774fca9a67016c0de3da3e76f5e04d44633734af2a608a23457
[INFO] running `Command { std: "docker" "start" "-a" "46fd5840cbc14774fca9a67016c0de3da3e76f5e04d44633734af2a608a23457", kill_on_drop: false }`
[INFO] [stderr]    Compiling ai-mail-butler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::process::Stdio`
[INFO] [stdout]  --> src/firewall_agent.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::process::Stdio;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixListener`
[INFO] [stdout]   --> src/firewall_agent.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::{UnixListener, UnixStream};
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::process::Command`
[INFO] [stdout]   --> src/firewall_agent.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::process::Command;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `sleep`
[INFO] [stdout]   --> src/firewall_agent.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::time::{sleep, Duration};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/firewall_agent.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{info, warn};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Message` and `SinglePart`
[INFO] [stdout]  --> src/mail/mod.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lettre::message::{Message, SinglePart};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SmtpTransport`
[INFO] [stdout]  --> src/mail/mod.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lettre::{SmtpTransport, Transport};
[INFO] [stdout]   |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpListener`
[INFO] [stdout]   --> src/mail/mod.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/mail/mod.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::time::{sleep, Duration};
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/smtp_security.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, warn};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/web/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method`, `Next`, `Request`, `Router`, `body::Body`, `get`, `post`, and `self`
[INFO] [stdout]  --> src/web/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     body::Body,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 4 |     extract::{Path as AxumPath, Query, State},
[INFO] [stdout] 5 |     http::{Method, Request, StatusCode},
[INFO] [stdout]   |            ^^^^^^  ^^^^^^^
[INFO] [stdout] 6 |     middleware::{self, Next},
[INFO] [stdout]   |                  ^^^^  ^^^^
[INFO] [stdout] 7 |     response::IntoResponse,
[INFO] [stdout] 8 |     routing::{get, post},
[INFO] [stdout]   |               ^^^  ^^^^
[INFO] [stdout] 9 |     Json, Router,
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/web/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_http::cors::CorsLayer`
[INFO] [stdout]   --> src/web/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tower_http::cors::CorsLayer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ServeDir` and `ServeFile`
[INFO] [stdout]   --> src/web/mod.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tower_http::services::{ServeDir, ServeFile};
[INFO] [stdout]    |                            ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/web/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Message` and `SinglePart`
[INFO] [stdout]     --> src/web/mod.rs:3418:23
[INFO] [stdout]      |
[INFO] [stdout] 3418 | use lettre::message::{Message, SinglePart};
[INFO] [stdout]      |                       ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SmtpTransport` and `Transport`
[INFO] [stdout]     --> src/web/mod.rs:3419:14
[INFO] [stdout]      |
[INFO] [stdout] 3419 | use lettre::{SmtpTransport, Transport};
[INFO] [stdout]      |              ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SmtpClientBuilder` and `mail_builder::MessageBuilder`
[INFO] [stdout]     --> src/web/mod.rs:3420:17
[INFO] [stdout]      |
[INFO] [stdout] 3420 | use mail_send::{mail_builder::MessageBuilder, SmtpClientBuilder};
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/main.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::io::{AsyncBufReadExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncBufReadExt`
[INFO] [stdout]   --> src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::io::{AsyncBufReadExt, BufReader};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]  --> src/mail/mod.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lettre::{SmtpTransport, Transport};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zone_id`
[INFO] [stdout]     --> src/web/mod.rs:9493:14
[INFO] [stdout]      |
[INFO] [stdout] 9493 |     let Some(zone_id) = state.config.cloudflare_zone_id.as_deref() else {
[INFO] [stdout]      |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zone_id`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_token`
[INFO] [stdout]     --> src/web/mod.rs:9500:14
[INFO] [stdout]      |
[INFO] [stdout] 9500 |     let Some(api_token) = state.config.cloudflare_api_token.as_deref() else {
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AiModelInfo` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AiModelInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LmStudioModelsResponse` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct LmStudioModelsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LmStudioModelInfo` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct LmStudioModelInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiModelsResponse` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct OpenAiModelsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiModelInfo` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct OpenAiModelInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_model_name`, `list_models`, `list_lm_studio_models`, `list_openai_compatible_models`, and `server_root_url` are never used
[INFO] [stdout]    --> src/ai/mod.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl AiClient {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub async fn set_model_name(&self, model_name: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn list_models(&self) -> Result<Vec<AiModelInfo>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     async fn list_lm_studio_models(&self) -> Result<Vec<AiModelInfo>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn list_openai_compatible_models(&self) -> Result<Vec<AiModelInfo>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn server_root_url(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_models` is never used
[INFO] [stdout]    --> src/ai/mod.rs:277:4
[INFO] [stdout]     |
[INFO] [stdout] 277 | fn sort_models(mut models: Vec<AiModelInfo>) -> Vec<AiModelInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `developer_email`, `smtp_relay_host`, `smtp_relay_user`, and `smtp_relay_pass` are never read
[INFO] [stdout]  --> src/config.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Config {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 5 |     pub developer_email: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub smtp_relay_host: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     pub smtp_relay_port: u16,
[INFO] [stdout] 8 |     pub smtp_relay_user: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     pub smtp_relay_pass: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_command` is never used
[INFO] [stdout]    --> src/firewall_agent.rs:994:10
[INFO] [stdout]     |
[INFO] [stdout] 994 | async fn run_command(_program: &str, _args: &[&str]) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unmatched_rule_guidance_enabled` is never used
[INFO] [stdout]     --> src/mail/mod.rs:1097:4
[INFO] [stdout]      |
[INFO] [stdout] 1097 | fn unmatched_rule_guidance_enabled(user: &User, config: &Config) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmailProcessingRunRow` is never constructed
[INFO] [stdout]    --> src/web/mod.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | struct EmailProcessingRunRow {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocsIndexEntry` is never constructed
[INFO] [stdout]    --> src/web/mod.rs:834:8
[INFO] [stdout]     |
[INFO] [stdout] 834 | struct DocsIndexEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocsIndexCache` is never constructed
[INFO] [stdout]    --> src/web/mod.rs:841:8
[INFO] [stdout]     |
[INFO] [stdout] 841 | struct DocsIndexCache {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DOCS_INDEX_CACHE` is never used
[INFO] [stdout]    --> src/web/mod.rs:846:8
[INFO] [stdout]     |
[INFO] [stdout] 846 | static DOCS_INDEX_CACHE: OnceLock<RwLock<DocsIndexCache>> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOCS_INDEX_TTL` is never used
[INFO] [stdout]    --> src/web/mod.rs:847:7
[INFO] [stdout]     |
[INFO] [stdout] 847 | const DOCS_INDEX_TTL: Duration = Duration::from_secs(300);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `docs_index_cache` is never used
[INFO] [stdout]    --> src/web/mod.rs:849:4
[INFO] [stdout]     |
[INFO] [stdout] 849 | fn docs_index_cache() -> &'static RwLock<DocsIndexCache> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessingRunsQuery` is never constructed
[INFO] [stdout]     --> src/web/mod.rs:1514:8
[INFO] [stdout]      |
[INFO] [stdout] 1514 | struct ProcessingRunsQuery {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdminAiSettingsRequest` is never constructed
[INFO] [stdout]     --> src/web/mod.rs:2916:8
[INFO] [stdout]      |
[INFO] [stdout] 2916 | struct AdminAiSettingsRequest {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdminAiModelsResponse` is never constructed
[INFO] [stdout]     --> src/web/mod.rs:2922:8
[INFO] [stdout]      |
[INFO] [stdout] 2922 | struct AdminAiModelsResponse {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_selected_ai_model_name` is never used
[INFO] [stdout]     --> src/web/mod.rs:2928:10
[INFO] [stdout]      |
[INFO] [stdout] 2928 | async fn load_selected_ai_model_name(state: &AppState) -> String {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_admin_ai_models` is never used
[INFO] [stdout]     --> src/web/mod.rs:3023:10
[INFO] [stdout]      |
[INFO] [stdout] 3023 | async fn get_admin_ai_models(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_admin_ai_settings` is never used
[INFO] [stdout]     --> src/web/mod.rs:3363:10
[INFO] [stdout]      |
[INFO] [stdout] 3363 | async fn post_admin_ai_settings(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_email_processing_runs` is never used
[INFO] [stdout]     --> src/web/mod.rs:7997:10
[INFO] [stdout]      |
[INFO] [stdout] 7997 | async fn get_email_processing_runs(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 26.81s
[INFO] running `Command { std: "docker" "inspect" "46fd5840cbc14774fca9a67016c0de3da3e76f5e04d44633734af2a608a23457", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46fd5840cbc14774fca9a67016c0de3da3e76f5e04d44633734af2a608a23457", kill_on_drop: false }`
[INFO] [stdout] 46fd5840cbc14774fca9a67016c0de3da3e76f5e04d44633734af2a608a23457
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 82302a22c02443f785c14e9b815e85e044dd9152e6e25f9fe0c14c274af05962
[INFO] running `Command { std: "docker" "start" "-a" "82302a22c02443f785c14e9b815e85e044dd9152e6e25f9fe0c14c274af05962", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::process::Stdio`
[INFO] [stderr]  --> src/firewall_agent.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::process::Stdio;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `UnixListener`
[INFO] [stderr]   --> src/firewall_agent.rs:12:18
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio::net::{UnixListener, UnixStream};
[INFO] [stderr]    |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::process::Command`
[INFO] [stderr]   --> src/firewall_agent.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::process::Command;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Duration` and `sleep`
[INFO] [stderr]   --> src/firewall_agent.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::time::{sleep, Duration};
[INFO] [stderr]    |                   ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/firewall_agent.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tracing::{info, warn};
[INFO] [stderr]    |                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Message` and `SinglePart`
[INFO] [stderr]  --> src/mail/mod.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use lettre::message::{Message, SinglePart};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SmtpTransport`
[INFO] [stderr]  --> src/mail/mod.rs:7:14
[INFO] [stderr]   |
[INFO] [stderr] 7 | use lettre::{SmtpTransport, Transport};
[INFO] [stderr]   |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TcpListener`
[INFO] [stderr]   --> src/mail/mod.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sleep`
[INFO] [stderr]   --> src/mail/mod.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 | use tokio::time::{sleep, Duration};
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]   --> src/smtp_security.rs:14:15
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tracing::{info, warn};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Result`
[INFO] [stderr]  --> src/web/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use anyhow::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Method`, `Next`, `Request`, `Router`, `body::Body`, `get`, `post`, and `self`
[INFO] [stderr]  --> src/web/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     body::Body,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 4 |     extract::{Path as AxumPath, Query, State},
[INFO] [stderr] 5 |     http::{Method, Request, StatusCode},
[INFO] [stderr]   |            ^^^^^^  ^^^^^^^
[INFO] [stderr] 6 |     middleware::{self, Next},
[INFO] [stderr]   |                  ^^^^  ^^^^
[INFO] [stderr] 7 |     response::IntoResponse,
[INFO] [stderr] 8 |     routing::{get, post},
[INFO] [stderr]   |               ^^^  ^^^^
[INFO] [stderr] 9 |     Json, Router,
[INFO] [stderr]   |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::net::SocketAddr`
[INFO] [stderr]   --> src/web/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::net::SocketAddr;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tower_http::cors::CorsLayer`
[INFO] [stderr]   --> src/web/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tower_http::cors::CorsLayer;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ServeDir` and `ServeFile`
[INFO] [stderr]   --> src/web/mod.rs:15:28
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tower_http::services::{ServeDir, ServeFile};
[INFO] [stderr]    |                            ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::info`
[INFO] [stderr]   --> src/web/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tracing::info;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Message` and `SinglePart`
[INFO] [stderr]     --> src/web/mod.rs:3418:23
[INFO] [stderr]      |
[INFO] [stderr] 3418 | use lettre::message::{Message, SinglePart};
[INFO] [stderr]      |                       ^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SmtpTransport` and `Transport`
[INFO] [stderr]     --> src/web/mod.rs:3419:14
[INFO] [stderr]      |
[INFO] [stderr] 3419 | use lettre::{SmtpTransport, Transport};
[INFO] [stderr]      |              ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SmtpClientBuilder` and `mail_builder::MessageBuilder`
[INFO] [stderr]     --> src/web/mod.rs:3420:17
[INFO] [stderr]      |
[INFO] [stderr] 3420 | use mail_send::{mail_builder::MessageBuilder, SmtpClientBuilder};
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufReader`
[INFO] [stderr]   --> src/main.rs:15:34
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::io::{AsyncBufReadExt, BufReader};
[INFO] [stderr]    |                                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncBufReadExt`
[INFO] [stderr]   --> src/main.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::io::{AsyncBufReadExt, BufReader};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]  --> src/mail/mod.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 | use lettre::{SmtpTransport, Transport};
[INFO] [stderr]   |                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `zone_id`
[INFO] [stderr]     --> src/web/mod.rs:9493:14
[INFO] [stderr]      |
[INFO] [stderr] 9493 |     let Some(zone_id) = state.config.cloudflare_zone_id.as_deref() else {
[INFO] [stderr]      |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zone_id`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `api_token`
[INFO] [stderr]     --> src/web/mod.rs:9500:14
[INFO] [stderr]      |
[INFO] [stderr] 9500 |     let Some(api_token) = state.config.cloudflare_api_token.as_deref() else {
[INFO] [stderr]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_token`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AiModelInfo` is never constructed
[INFO] [stderr]   --> src/ai/mod.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct AiModelInfo {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LmStudioModelsResponse` is never constructed
[INFO] [stderr]   --> src/ai/mod.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | struct LmStudioModelsResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LmStudioModelInfo` is never constructed
[INFO] [stderr]   --> src/ai/mod.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | struct LmStudioModelInfo {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OpenAiModelsResponse` is never constructed
[INFO] [stderr]   --> src/ai/mod.rs:54:8
[INFO] [stderr]    |
[INFO] [stderr] 54 | struct OpenAiModelsResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OpenAiModelInfo` is never constructed
[INFO] [stderr]   --> src/ai/mod.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 59 | struct OpenAiModelInfo {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_model_name`, `list_models`, `list_lm_studio_models`, `list_openai_compatible_models`, and `server_root_url` are never used
[INFO] [stderr]    --> src/ai/mod.rs:125:18
[INFO] [stderr]     |
[INFO] [stderr] 108 | impl AiClient {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub async fn set_model_name(&self, model_name: String) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |     pub async fn list_models(&self) -> Result<Vec<AiModelInfo>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     async fn list_lm_studio_models(&self) -> Result<Vec<AiModelInfo>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     async fn list_openai_compatible_models(&self) -> Result<Vec<AiModelInfo>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 211 |     fn server_root_url(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sort_models` is never used
[INFO] [stderr]    --> src/ai/mod.rs:277:4
[INFO] [stderr]     |
[INFO] [stderr] 277 | fn sort_models(mut models: Vec<AiModelInfo>) -> Vec<AiModelInfo> {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `developer_email`, `smtp_relay_host`, `smtp_relay_user`, and `smtp_relay_pass` are never read
[INFO] [stderr]  --> src/config.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Config {
[INFO] [stderr]   |            ------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 5 |     pub developer_email: Option<String>,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 6 |     pub smtp_relay_host: Option<String>,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |     pub smtp_relay_port: u16,
[INFO] [stderr] 8 |     pub smtp_relay_user: Option<String>,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 9 |     pub smtp_relay_pass: Option<String>,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_command` is never used
[INFO] [stderr]    --> src/firewall_agent.rs:994:10
[INFO] [stderr]     |
[INFO] [stderr] 994 | async fn run_command(_program: &str, _args: &[&str]) -> Result<()> {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `unmatched_rule_guidance_enabled` is never used
[INFO] [stderr]     --> src/mail/mod.rs:1097:4
[INFO] [stderr]      |
[INFO] [stderr] 1097 | fn unmatched_rule_guidance_enabled(user: &User, config: &Config) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EmailProcessingRunRow` is never constructed
[INFO] [stderr]    --> src/web/mod.rs:115:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | struct EmailProcessingRunRow {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DocsIndexEntry` is never constructed
[INFO] [stderr]    --> src/web/mod.rs:834:8
[INFO] [stderr]     |
[INFO] [stderr] 834 | struct DocsIndexEntry {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DocsIndexCache` is never constructed
[INFO] [stderr]    --> src/web/mod.rs:841:8
[INFO] [stderr]     |
[INFO] [stderr] 841 | struct DocsIndexCache {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `DOCS_INDEX_CACHE` is never used
[INFO] [stderr]    --> src/web/mod.rs:846:8
[INFO] [stderr]     |
[INFO] [stderr] 846 | static DOCS_INDEX_CACHE: OnceLock<RwLock<DocsIndexCache>> = OnceLock::new();
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DOCS_INDEX_TTL` is never used
[INFO] [stderr]    --> src/web/mod.rs:847:7
[INFO] [stderr]     |
[INFO] [stderr] 847 | const DOCS_INDEX_TTL: Duration = Duration::from_secs(300);
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `docs_index_cache` is never used
[INFO] [stderr]    --> src/web/mod.rs:849:4
[INFO] [stderr]     |
[INFO] [stderr] 849 | fn docs_index_cache() -> &'static RwLock<DocsIndexCache> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProcessingRunsQuery` is never constructed
[INFO] [stderr]     --> src/web/mod.rs:1514:8
[INFO] [stderr]      |
[INFO] [stderr] 1514 | struct ProcessingRunsQuery {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AdminAiSettingsRequest` is never constructed
[INFO] [stderr]     --> src/web/mod.rs:2916:8
[INFO] [stderr]      |
[INFO] [stderr] 2916 | struct AdminAiSettingsRequest {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AdminAiModelsResponse` is never constructed
[INFO] [stderr]     --> src/web/mod.rs:2922:8
[INFO] [stderr]      |
[INFO] [stderr] 2922 | struct AdminAiModelsResponse {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_selected_ai_model_name` is never used
[INFO] [stderr]     --> src/web/mod.rs:2928:10
[INFO] [stderr]      |
[INFO] [stderr] 2928 | async fn load_selected_ai_model_name(state: &AppState) -> String {
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_admin_ai_models` is never used
[INFO] [stderr]     --> src/web/mod.rs:3023:10
[INFO] [stderr]      |
[INFO] [stderr] 3023 | async fn get_admin_ai_models(
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `post_admin_ai_settings` is never used
[INFO] [stderr]     --> src/web/mod.rs:3363:10
[INFO] [stderr]      |
[INFO] [stderr] 3363 | async fn post_admin_ai_settings(
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_email_processing_runs` is never used
[INFO] [stderr]     --> src/web/mod.rs:7997:10
[INFO] [stderr]      |
[INFO] [stderr] 7997 | async fn get_email_processing_runs(
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ai-mail-butler` (bin "ai-mail-butler" test) generated 48 warnings (run `cargo fix --bin "ai-mail-butler" -p ai-mail-butler --tests` to apply 23 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ai_mail_butler-b5e789356439c2be)
[INFO] [stdout] 
[INFO] [stdout] running 136 tests
[INFO] [stdout] test ai::tests::extract_sse_chat_json_skips_done_and_empty_lines ... ok
[INFO] [stdout] test ai::tests::parse_chat_response_handles_openai_shape ... ok
[INFO] [stdout] test ai::tests::parse_chat_response_handles_compatible_content_response_and_text ... ok
[INFO] [stdout] test ai::tests::parse_chat_response_handles_sse_data_line ... ok
[INFO] [stdout] test ai::tests::summarize_body_normalizes_whitespace_and_truncates ... ok
[INFO] [stdout] test config::tests::config_load_parses_runtime_env_values ... ok
[INFO] [stdout] test config::tests::config_loads_with_defaults ... ok
[INFO] [stdout] test config::tests::config_readonly_block_writes_defaults_to_readonly_mode ... ok
[INFO] [stdout] test firewall_agent::tests::backend_parser_accepts_aliases_and_serializes_names ... ok
[INFO] [stdout] test firewall_agent::tests::bool_and_quote_helpers_parse_common_yaml_values ... ok
[INFO] [stdout] test firewall_agent::tests::config_yaml_subset_updates_nested_scalars_and_lists ... ok
[INFO] [stdout] test firewall_agent::tests::duration_parser_supports_common_units ... ok
[INFO] [stdout] test firewall_agent::tests::private_or_local_detection_covers_ipv4_and_ipv6 ... ok
[INFO] [stdout] test firewall_agent::tests::validation_rejects_cidr_and_hostnames ... ok
[INFO] [stdout] test mail::tests::all_email_addresses_handles_raw_list ... ok
[INFO] [stdout] test mail::tests::all_email_addresses_parses_multiple ... ok
[INFO] [stdout] test mail::tests::attachment_and_inline_part_collection_work ... ok
[INFO] [stdout] test firewall_agent::tests::request_handler_covers_health_list_and_unsupported_actions ... ok
[INFO] [stdout] test firewall_agent::tests::stream_handler_returns_json_errors_and_success_responses ... ok
[INFO] [stdout] test mail::tests::build_login_url_uses_public_url_when_present ... ok
[INFO] [stdout] test mail::tests::cli_run_report_counts_result_statuses ... ok
[INFO] [stdout] test mail::tests::extension_from_mime_maps_known_types ... ok
[INFO] [stdout] test mail::tests::extract_json_segment_handles_fenced_arrays_and_raw_text ... ok
[INFO] [stdout] test mail::tests::extract_pure_email_handles_angle_brackets ... ok
[INFO] [stdout] test mail::tests::extract_pure_email_passes_through_plain ... ok
[INFO] [stdout] test mail::tests::first_email_address_handles_common_formats ... ok
[INFO] [stdout] test mail::tests::inline_body_collection_decodes_plain_and_html ... ok
[INFO] [stdout] test mail::tests::local_synced_fixture_processes_yihua_huanan_and_uber_samples ... ignored, uses local synced readonly fixture data under ai-mail-butler-data/overlay
[INFO] [stdout] test mail::tests::local_synced_overlay_backfills_all_yihua_uber_finance_records ... ignored, updates local synced overlay DB under ai-mail-butler-data/overlay
[INFO] [stdout] test mail::tests::inferred_attachment_filename_uses_mime_fallback ... ok
[INFO] [stdout] test mail::tests::normalize_finance_category_default_expense ... ok
[INFO] [stdout] test firewall_agent::tests::config_load_reads_yaml_file_when_present ... ok
[INFO] [stdout] test firewall_agent::tests::whitelisted_block_is_rejected ... ok
[INFO] [stdout] test mail::tests::normalize_finance_direction_expense ... ok
[INFO] [stdout] test mail::tests::normalize_finance_direction_income ... ok
[INFO] [stdout] test mail::tests::parse_mx_records_extracts_priority ... ok
[INFO] [stdout] test mail::tests::parse_mx_records_handles_empty ... ok
[INFO] [stdout] test firewall_agent::tests::state_and_audit_helpers_round_trip_files ... ok
[INFO] [stdout] test mail::tests::normalize_finance_category_maps_deposit ... ok
[INFO] [stdout] test firewall_agent::tests::unblock_and_cleanup_expired_records_update_state_and_audit ... ok
[INFO] [stdout] test mail::tests::list_spool_eml_files_filters_and_sorts_eml_files ... ok
[INFO] [stdout] test mail::tests::push_step_always_records_log_lines ... ok
[INFO] [stdout] test firewall_agent::tests::block_request_validation_rejections_are_audited ... ok
[INFO] [stdout] test mail::tests::resolve_cli_target_path_supports_index_name_and_errors ... ok
[INFO] [stdout] test mail::tests::normalize_finance_category_maps_bill ... ok
[INFO] [stdout] test mail::tests::sanitize_path_component_replaces_unsafe_chars ... ok
[INFO] [stdout] test mail::tests::runtime_paths_remap_to_overlay_in_readonly_mode ... ok
[INFO] [stdout] test mail::tests::smtp_connection_accepts_message_and_saves_session_log ... ok
[INFO] [stdout] test mail::tests::month_key_from_timestamp_accepts_common_formats ... ok
[INFO] [stdout] test mail::tests::unmatched_rule_guidance_is_sent_only_when_enabled_and_unhandled ... ok
[INFO] [stdout] test mail::tests::unmatched_rule_guidance_is_skipped_after_ai_rule_processing ... ok
[INFO] [stdout] test mail::tests::unmatched_rule_guidance_is_skipped_after_financial_processing ... ok
[INFO] [stdout] test mail::tests::unmatched_rule_guidance_is_skipped_by_default ... ok
[INFO] [stdout] test mail::tests::union_read_file_falls_back_to_readonly_base ... ok
[INFO] [stdout] test mail::tests::vendor_parser_extracts_huanan_transfer_and_withdrawal_notices ... ok
[INFO] [stdout] test mail::tests::vendor_parser_extracts_uber_eats_total ... ok
[INFO] [stdout] test mail::tests::store_financial_entries_converts_usd_to_twd_for_monthly_summary ... ok
[INFO] [stdout] test mail::tests::vendor_parser_skips_huanan_balance_query_notice_without_amount_change ... ok
[INFO] [stdout] test models::tests::email_record_serialization ... ok
[INFO] [stdout] test models::tests::privacy_and_wish_models_serialize_expected_fields ... ok
[INFO] [stdout] test models::tests::user_defaults_cover_all_preferences ... ok
[INFO] [stdout] test models::tests::user_serializes_and_deserializes ... ok
[INFO] [stdout] test services::tests::extract_pdf_text_returns_error_for_invalid_bytes ... ok
[INFO] [stdout] test mail::tests::process_single_spool_file_handles_parse_error_and_unknown_sender ... ok
[INFO] [stdout] test services::tests::onboarding_question_progression_is_correct ... ok
[INFO] [stdout] test mail::tests::vendor_parser_extracts_uber_eats_multilingual_order_total ... ok
[INFO] [stdout] test mail::tests::requeue_unknown_sender_errors_copies_known_artifacts ... ok
[INFO] [stdout] test mail::tests::vendor_parser_extracts_uber_trip_total ... ok
[INFO] [stdout] test smtp_security::tests::whitelist_supports_cidr_and_ips ... ok
[INFO] [stdout] test mail::tests::process_single_spool_file_simulates_rules_and_memory_steps ... ok
[INFO] [stdout] test smtp_security::tests::whitelisted_ip_is_logged_but_not_blocked ... ok
[INFO] [stdout] test smtp_security::tests::connection_rate_limit_and_disabled_agent_paths_are_stable ... ok
[INFO] [stdout] test smtp_security::tests::auth_login_threshold_blocks_non_whitelisted_ip ... ok
[INFO] [stdout] test smtp_security::tests::yaml_subset_backend_bool_risk_and_pruning_helpers_work ... ok
[INFO] [stdout] test tests::find_archived_mail_for_empty_row_picks_closest_received_at ... ok
[INFO] [stdout] test tests::parse_mail_meta_and_timestamp_are_conservative ... ok
[INFO] [stdout] test mail::tests::process_single_spool_file_stores_known_user_finance_and_moves_when_requested ... ok
[INFO] [stdout] test tests::readonly_base_resolution_supports_data_root_fallback_and_missing_base ... ok
[INFO] [stdout] test mail::tests::process_spool_once_reports_mixed_file_results ... ok
[INFO] [stdout] test tests::resolve_runtime_dir_uses_overlay_in_readonly_mode ... ok
[INFO] [stdout] test tests::sanitize_path_component_replaces_unsafe_chars ... ok
[INFO] [stdout] test tests::sqlite_url_to_path_handles_file_and_relative_urls ... ok
[INFO] [stdout] test tests::prepare_readonly_overlay_db_copies_base_db_and_rewrites_config ... ok
[INFO] [stdout] test tests::write_cli_report_creates_parent_and_writes_json ... ok
[INFO] [stdout] test tests::archived_content_size_prefers_raw_then_body ... ok
[INFO] [stdout] test web::web_tests::capture_rule_from_chat_skips_non_rule_messages ... ok
[INFO] [stdout] test web::web_tests::capture_rule_from_chat_inserts_once_and_deduplicates ... ok
[INFO] [stdout] test tests::archive_lookup_uses_db_sibling_and_skips_empty_or_mismatched_archives ... ok
[INFO] [stdout] test web::web_tests::docs_language_bonus_and_allowlist_behave_as_expected ... ok
[INFO] [stdout] test web::web_tests::docs_query_terms_and_snippets_prefer_matching_context ... ok
[INFO] [stdout] test web::web_tests::extract_rule_from_message_parses_explicit_prefixes ... ok
[INFO] [stdout] test services::tests::rule_matching_activity_and_draft_storage_round_trip ... ok
[INFO] [stdout] test services::tests::onboarding_ai_helpers_use_mock_client_and_persist_memory ... ok
[INFO] [stdout] test web::web_tests::looks_like_email_rule_detects_common_intents ... ok
[INFO] [stdout] test tests::list_empty_db_rows_with_archive_handles_matches_and_nonmatches ... ok
[INFO] [stdout] test web::web_tests::auto_reply_handlers_expose_update_and_delete_draft_body ... ok
[INFO] [stdout] test web::web_tests::dashboard_handler_returns_anonymous_personal_and_admin_views ... ok
[INFO] [stdout] test web::web_tests::auth_and_settings_handlers_verify_token_and_persist_preferences ... ok
[INFO] [stdout] test web::web_tests::data_deletion_summary_and_confirm_remove_user_records ... ok
[INFO] [stdout] test web::web_tests::finance_magic_link_about_and_runtime_handlers_cover_success_and_error_paths ... ok
[INFO] [stdout] test web::web_tests::normalize_remote_debug_access_mode_accepts_common_write_aliases ... ok
[INFO] [stdout] test web::web_tests::parse_mx_records_ignores_invalid_rows ... ok
[INFO] [stdout] test web::web_tests::parse_mx_records_returns_highest_priority_host ... ok
[INFO] [stdout] test web::web_tests::parse_training_consent_answer_handles_yes_no ... ok
[INFO] [stdout] test web::web_tests::get_me_creates_user_assigns_roles_and_respects_readonly_mode ... ok
[INFO] [stdout] test web::web_tests::manual_process_logs_reason_when_email_stays_unhandled ... ok
[INFO] [stdout] test web::web_tests::manual_reprocess_rolls_back_finance_records_before_reextracting ... ok
[INFO] [stdout] test web::web_tests::processing_step_exposes_translation_key_and_metadata ... ok
[INFO] [stdout] test web::web_tests::quote_sqlite_ident_escapes_double_quotes ... ok
[INFO] [stdout] test web::web_tests::manual_process_emails_prefers_stored_content_over_preview ... ok
[INFO] [stdout] test web::web_tests::redact_training_text_masks_sensitive_patterns ... ok
[INFO] [stdout] test web::web_tests::manual_reprocess_uses_archived_mail_fallback_when_db_content_is_empty ... ok
[INFO] [stdout] test web::web_tests::manual_reprocess_rematches_rule_and_rebuilds_draft ... ok
[INFO] [stdout] test web::web_tests::render_archived_mail_path_reads_raw_or_body_sources ... ok
[INFO] [stdout] test web::web_tests::render_mail_content_collects_inline_plain_and_html_bodies ... ok
[INFO] [stdout] test web::web_tests::resolve_overlay_relative_path_preserves_relative_and_flattens_absolute ... ok
[INFO] [stdout] test web::web_tests::resolve_remote_debug_base_db_path_checks_primary_then_data_root ... ok
[INFO] [stdout] test web::web_tests::resolve_runtime_mail_path_remaps_only_in_readonly_mode ... ok
[INFO] [stdout] test web::web_tests::post_chat_handles_rule_command_registered_user_and_anonymous_ai_failure ... ok
[INFO] [stdout] test web::web_tests::mail_error_retry_message_and_support_package_handlers_work ... FAILED
[INFO] [stdout] test web::web_tests::post_chat_success_persists_transcript_logs_activity_and_updates_onboarding ... ok
[INFO] [stdout] test web::web_tests::privacy_age_and_retention_handlers_round_trip_records ... ok
[INFO] [stdout] test web::web_tests::rule_label_helpers_normalize_generated_and_ai_labels ... ok
[INFO] [stdout] test web::web_tests::sanitize_path_component_normalizes_unsafe_chars ... ok
[INFO] [stdout] test web::web_tests::remote_debug_sync_covers_bad_posture_missing_file_and_snapshot_success ... ok
[INFO] [stdout] test web::web_tests::sqlite_url_to_path_handles_common_url_shapes ... ok
[INFO] [stdout] test web::web_tests::remote_debug_access_mode_prefers_persisted_setting ... ok
[INFO] [stdout] test web::web_tests::remote_debug_api_writes_enabled_requires_full_overlay_posture ... ok
[INFO] [stdout] test web::web_tests::rule_api_handlers_create_list_update_toggle_and_delete ... ok
[INFO] [stdout] test web::web_tests::rule_chat_command_counts_lists_edits_and_disables_rules ... ok
[INFO] [stdout] test web::web_tests::rule_chat_command_delete_flow_supports_label_confirm_and_cancel ... ok
[INFO] [stdout] test web::web_tests::sqlite_table_columns_returns_quoted_table_columns ... ok
[INFO] [stdout] test web::web_tests::support_package_pseudonymizer_is_stable_per_identity_type ... ok
[INFO] [stdout] test web::web_tests::training_export_and_feedback_handlers_enforce_auth_and_update_state ... ok
[INFO] [stdout] test web::web_tests::wishes_retention_purge_and_cache_purge_handlers_cover_error_and_success_paths ... ok
[INFO] [stdout] test web::web_tests::rule_command_helpers_detect_ids_labels_delimiters_and_intents ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- web::web_tests::mail_error_retry_message_and_support_package_handlers_work stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'web::web_tests::mail_error_retry_message_and_support_package_handlers_work' (231) panicked at src/web/mod.rs:5018:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: String("error")
[INFO] [stdout]  right: "success"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d8aa2659398 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d8aa2659398 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d8aa2659398 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d8aa2659398 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d8aa2672aea - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d8aa2672aea - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5d8aa265ec92 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5d8aa265ec92 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5d8aa26331e6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d8aa26331e6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d8aa264f259 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d8aa18ef2bc - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5d8aa18ef2bc - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5d8aa264f4d2 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5d8aa264f4d2 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d8aa26332a2 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5d8aa262a1c9 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5d8aa26344ed - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d8aa267335c - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d8aa26731e3 - core[5a1c3e9896636f3a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5d8aa1833f93 - core[5a1c3e9896636f3a]::panicking::assert_failed::<serde_json[9b59c8af5d17eab0]::value::Value, &str>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5d8aa15e7fcc - ai_mail_butler[b69f5e359a8589ff]::web::web_tests::mail_error_retry_message_and_support_package_handlers_work::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/web/mod.rs:5018:9
[INFO] [stdout]   22:     0x5d8aa17fd322 - <core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>> as core[5a1c3e9896636f3a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5d8aa17fd39d - <core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>> as core[5a1c3e9896636f3a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x5d8aa182bfbd - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:70
[INFO] [stdout]   25:     0x5d8aa182be2b - tokio[ac41dd0eee0cd919]::task::coop::with_budget::<core[5a1c3e9896636f3a]::task::poll::Poll<()>, <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x5d8aa182be2b - tokio[ac41dd0eee0cd919]::task::coop::budget::<core[5a1c3e9896636f3a]::task::poll::Poll<()>, <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x5d8aa182be2b - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:25
[INFO] [stdout]   28:     0x5d8aa18042b0 - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Context>::enter::<core[5a1c3e9896636f3a]::task::poll::Poll<()>, <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:451:19
[INFO] [stdout]   29:     0x5d8aa182a58d - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:777:44
[INFO] [stdout]   30:     0x5d8aa1829824 - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:68
[INFO] [stdout]   31:     0x5d8aa166aa2b - <tokio[ac41dd0eee0cd919]::runtime::context::scoped::Scoped<tokio[ac41dd0eee0cd919]::runtime::scheduler::Context>>::set::<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}, (alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x5d8aa1744359 - tokio[ac41dd0eee0cd919]::runtime::context::set_scheduler::<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:38
[INFO] [stdout]   33:     0x5d8aa1731c72 - <std[d054f6f42beb1baa]::thread::local::LocalKey<tokio[ac41dd0eee0cd919]::runtime::context::Context>>::try_with::<tokio[ac41dd0eee0cd919]::runtime::context::set_scheduler<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   34:     0x5d8aa17317fe - <std[d054f6f42beb1baa]::thread::local::LocalKey<tokio[ac41dd0eee0cd919]::runtime::context::Context>>::with::<tokio[ac41dd0eee0cd919]::runtime::context::set_scheduler<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   35:     0x5d8aa1734ead - tokio[ac41dd0eee0cd919]::runtime::context::set_scheduler::<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:17
[INFO] [stdout]   36:     0x5d8aa1808d90 - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:27
[INFO] [stdout]   37:     0x5d8aa1809086 - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:765:24
[INFO] [stdout]   38:     0x5d8aa1829330 - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:205:33
[INFO] [stdout]   39:     0x5d8aa161c503 - tokio[ac41dd0eee0cd919]::runtime::context::runtime::enter_runtime::<<tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x5d8aa18036a1 - <tokio[ac41dd0eee0cd919]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:193:9
[INFO] [stdout]   41:     0x5d8aa169ca84 - <tokio[ac41dd0eee0cd919]::runtime::runtime::Runtime>::block_on_inner::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:371:52
[INFO] [stdout]   42:     0x5d8aa169cc4f - <tokio[ac41dd0eee0cd919]::runtime::runtime::Runtime>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:345:18
[INFO] [stdout]   43:     0x5d8aa1614c94 - ai_mail_butler[b69f5e359a8589ff]::web::web_tests::mail_error_retry_message_and_support_package_handlers_work
[INFO] [stdout]                                at /opt/rustwide/workdir/src/web/mod.rs:5054:55
[INFO] [stdout]   44:     0x5d8aa15ca837 - ai_mail_butler[b69f5e359a8589ff]::web::web_tests::mail_error_retry_message_and_support_package_handlers_work::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/web/mod.rs:4904:74
[INFO] [stdout]   45:     0x5d8aa14497f6 - <ai_mail_butler[b69f5e359a8589ff]::web::web_tests::mail_error_retry_message_and_support_package_handlers_work::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5d8aa18e239b - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x5d8aa18e239b - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   48:     0x5d8aa18efc15 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   49:     0x5d8aa18efc15 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x5d8aa18efc15 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x5d8aa18efc15 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x5d8aa18efc15 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x5d8aa18efc15 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   54:     0x5d8aa18efc15 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   55:     0x5d8aa18ea774 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   56:     0x5d8aa18ea774 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x5d8aa18f2c92 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   58:     0x5d8aa18f2c92 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x5d8aa18f2c92 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x5d8aa18f2c92 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x5d8aa18f2c92 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x5d8aa18f2c92 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   63:     0x5d8aa18f2c92 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5d8aa265825f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   65:     0x5d8aa265825f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   66:     0x700b052d7aa4 - <unknown>
[INFO] [stdout]   67:     0x700b05364a64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     web::web_tests::mail_error_retry_message_and_support_package_handlers_work
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 133 passed; 1 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.90s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ai-mail-butler`
[INFO] running `Command { std: "docker" "inspect" "82302a22c02443f785c14e9b815e85e044dd9152e6e25f9fe0c14c274af05962", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82302a22c02443f785c14e9b815e85e044dd9152e6e25f9fe0c14c274af05962", kill_on_drop: false }`
[INFO] [stdout] 82302a22c02443f785c14e9b815e85e044dd9152e6e25f9fe0c14c274af05962
